#include<stdio.h>

int main(){
    //位运算
    //& 与运算，同为1则为1
    //| 或运算，同为0则为0
    //^ 异或运算，相同为0，相异为1
    //<< 左位移x位，左边丢弃x位，右边补0（好像并没有丢弃???@todo）
    //>> 右位移x位，右边丢弃x位，左边补0，负数补1

    int x = 10;//二进制1010
    int y = 7; //二进制0111

    printf("%d\n", x & y);// 0010=>2
    printf("%d\n", x | y);// 1111=>15
    printf("%d\n", x ^ y);// 1101=>13
    printf("%d, %d\n", x << 5, x);//1000=>8， x不变，为10
    printf("%d, %d\n", y >> 2, y);//0001=>1, y不变，为7
}